#include <crypt.h>
#include <my_header.h>
#include "../head/client.h"
#include <mysql/errmsg.h>
#include <shadow.h>
#include <string.h>
#include <sys/socket.h>
#include <unistd.h>
int register_account(int netfd)  //注册用户
 {
     char handle[256]={0};
     char password[256]={0};
     printf("请输入一个用户:");
     fflush(stdout);
     scanf("%s",handle);
     fflush(stdout);
     
     printf("请输入密码:");
     fflush(stdout);
     scanf("%s",password);
     clicent_sign_in(handle,password,netfd);
     
     return 0;
 }

int manage_accounts(char *buf){   //注销账户
     MYSQL *mysql=mysql_init(NULL);
     mysql_database(mysql);
     mysql_delete(mysql,buf);
     return 0;
}


int login(int netfd,char *buf){   //登录
    while(1){
        TLVMsg msg;
        char name[MAX_DETAIL_LEN]={0};
        int len;

        printf("请输入一个用户:");
        fflush(stdout);
        scanf("%s",name);

        fflush(stdout);

        MYSQL *mysql=mysql_init(NULL);
        mysql_database(mysql);
        int ret=mysql_sekect(mysql,"username",buf);
        if(ret>=1){
            transmit(netfd,ret,strlen(name),name);
            break;
        }
    }
    while(1){
        TLVMsg msg;
        struct crypt_data data={0};
        data.initialized=1;
        char salt[256]={0};
        char password[256]={0}; 
        recvfd(netfd,&msg);
        strcpy(salt,msg.value);
        
        printf("请输入密码:");
        fflush(stdout);
        scanf("%s",password);
        char *pass=crypt_r(password,salt,&data);
        
        transmit(netfd,0,strlen(pass),pass);
        
        recvfd(netfd,&msg);
        if(msg.type==CMD_LOGIN){
            printf("%s\n",msg.value);
            printf("请执行指令\n");
            break;
        }else{
            printf("%s\n",msg.value);
        }
    }
    return 0;
}










